This application relates to the exchange of information via the World Wide Web and, particularly, to a method and apparatus for allowing one or more persons to store custom information for a Web document that is being viewed.
With the proliferation of the internet and the popularity of the World Wide Web, large amounts of information are accessible to anyone connected to the internet who has Web browser software. A well-defined protocol called xe2x80x9cHyperText Transfer Protocolxe2x80x9d (HTTP) allows a browser to access Web documents. HTTP is described in the Web document stored at http://www.w3.org/pub/www/Protocols HTTP/1.0xe2x80x94Hypertext Transfer Protocol, T. Berners Lee, R. Fielding, H. Nielson, Aug. 3, 1995, which is incorporated by reference herein. The layout language for a Web document is called xe2x80x9cHyperText Markup Languagexe2x80x9d (HTML). HTML is described in the internet document RFC1866 by T. Berners Lee MIT/W3C November 1995, ftp://ds.internic.net/rfc/rfc 1866.txt, which is also incorporated by reference herein.
Web documents are stored in HTML form in association with xe2x80x9cserverxe2x80x9d software on a remote computer. An address of a specific Web document is called a xe2x80x9cUniform Resource Locatorxe2x80x9d (URL). A user employs xe2x80x9cbrowserxe2x80x9d software on a local client computer to request a document stored at a particular URL. When the server receives the user""s request, it sends the HTML for the requested document to the browser, which displays the document in accordance with the HTML.
There are many popular servers and browsers. Currently, however, there is no mechanism for the user of a browser to store custom information (such as the user""s own comments) in association with the documents that the user is viewing.
For example, a user may wish to annotate a Web-viewable document and, at a later date, view the document again in association with the prior annotations. It might be possible to modify the HTTP protocol, the browser and/or server software, so as to provide a mechanism whereby a user could store his or her comments in association with a Web-viewable document. However, because browsers and servers are commercial products, users cannot easily modify browser and/or server software to add this functionality. Moreover, users do not generally have access to the server software, which typically exists on a remote computer. Therefore, there is a need for a process and associated system which would enable a user browsing the Web to store information associated with a Web document, without the necessity of modifying HTTP protocols, the browser software and/or the server software.
The present invention overcomes the problems and disadvantages of the prior art by using a software program called a xe2x80x9credirectorxe2x80x9d to allow a user to store custom information in conjunction with Web documents. In a preferred embodiment, the custom information includes annotations made by a user to a Web document. In this embodiment, browser software sends an HTTP request to the redirector, which sends back an HTML xe2x80x9cformxe2x80x9d to the browser. The browser displays the form as it would any HTML form. The form allows the user to specify the Web document that he wishes to view and to specify various options relating to whether annotations or the like should be displayed when the document is viewed. The browser then sends (xe2x80x9csubmitsxe2x80x9d) the information from the form to the redirector. This information includes the URL of the Web document to be viewed and whether annotations should be displayed.
The redirector next retrieves the HTML for the specified Web document from an appropriate document server, replaces any URLs in the HTML with its own URL, and saves the replaced URLs. If the user previously had made any annotations or had added any other custom information to the Web document, the annotations and/or other custom information were stored in the redirector at that time. The redirector modifies the HTML of the requested document to include any previously added annotations, if the user wants such annotations displayed. The redirector also modifies the HTML so that various input forms for allowing user input (such as xe2x80x9cbuttonsxe2x80x9d, text boxes, etc.) will be displayed by the browser. The HTML for the document, the HTML for the input forms, and the HTML for the annotations are collectively termed xe2x80x9caugmented HTML.xe2x80x9d The augmented HTML is then sent to the browser, which displays the document along with the input forms and (possibly) any annotations previously added by the user.
Once a document is displayed by the browser, the user can add, delete, or modify the annotations or other information associated with the document and displayed by the browser. If the user clicks on a URL in the document, the browser will access the redirector instead of the server originally specified by the URL since, as previously explained, all URLs in the document were modified by the redirector to point to the redirector. The redirector fetches the referenced Web document that corresponds to the position clicked by the user, and creates augmented HTML for a new document, which is sent to the browser for display.
The annotations and any other custom information are retained by the redirector, but are not a part of the HTML for the document stored on the document server. The original document is not modified. Thus, the present invention allows a user to make annotations and additions to a Web document, but does not require modification of the browser, the server, or the original document stored on the server.
In accordance with a purpose of the invention, as embodied and broadly described herein, the invention includes a method for processing documents in an http network environment in a customized fashion using a standard http browser. The method may be performed by a data processing system, performing steps such as: receiving, from a standard http browser, one or more http requests to store custom information associated with a selected network document; storing the associated custom information; receiving, from the standard http browser, one or more requests for the selected network document; redirecting at least a portion of the http requests for the selected network document to a network server hosting the selected document; retrieving the selected document; retrieving the custom information; and transmitting the selected network document and a custom response derived using the custom information to the standard http browser, to thereby cause the browser to display the network document in association with the information contained in the custom response.
In further accordance with a purpose of this invention, as embodied and broadly described herein, the invention includes the storage of various types of information by the redirector. For example, the redirector may index the text of all documents requested by the user via the redirector. The user can then later search for any word in the previously accessed documents through the use of a standard search engine that accesses custom indexing information stored by the redirector. The user can then request the previously viewed document that the search engine determines contains the search terms.
In another example, a plurality of redirectors store custom information, such as annotations, in hierarchical form. A low level redirector in the hierarchy may store custom information (e.g., annotations) belonging to an individual in a department of a company. A higher level redirector in the hierarchy may store custom information belonging to everyone in the department. Thus, for example, both xe2x80x9cindividualxe2x80x9d redirectors and xe2x80x9cgroupxe2x80x9d redirectors may store custom information for a given Web document. Requests from a user to view the Web document will be routed through these several levels of redirectors allowing the user to view both his own annotations and departmental annotations. If the custom information reflects annotations made by a user, the user may choose to see only his own annotations, only the group annotations, both, or neither.